﻿Imports ClasesRestaurante

Public Class FormPrincipal

    Private Sub formPrincipal_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load

        GestionRestaurante.CrearDirectorio()

        ClientesRestaurante = GestionRestaurante.CargarClientes()
        PedidosRestaurante = GestionRestaurante.CargarPedidos()
        MesasRestaurante = GestionRestaurante.CargarMesas()
        ProductosRestaurante = GestionRestaurante.CargarProductos()
        OfertasRestaurante = GestionRestaurante.CargarOfertas()

        txtContraseñaUsuario.UseSystemPasswordChar = True

        Limpiar()

    End Sub

    Private Sub FormPrincipal_Activated(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Activated
        Limpiar()
    End Sub

    Private Sub formPrincipal_FormClosing(ByVal sender As Object, ByVal e As System.Windows.Forms.FormClosingEventArgs) Handles Me.FormClosing
        GestionRestaurante.GrabarClientes(ClientesRestaurante)
        GestionRestaurante.GrabarPedidos(PedidosRestaurante)
        GestionRestaurante.GrabarMesas(MesasRestaurante)
        GestionRestaurante.GrabarProductos(ProductosRestaurante)
        GestionRestaurante.GrabarOfertas(OfertasRestaurante)
    End Sub

    Private Sub Limpiar()
        txtNombreUsuario.Text = ""
        txtContraseñaUsuario.Text = ""

        lblPHUsuario.Visible = True
        lblPHContraseña.Visible = True

    End Sub

    Private Sub TextBox_GotFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNombreUsuario.GotFocus, txtContraseñaUsuario.GotFocus

        Dim textBox = TryCast(sender, TextBox)

        Select Case textBox.Name
            Case "txtNombreUsuario"
                lblPHUsuario.Visible = False
            Case "txtContraseñaUsuario"
                lblPHContraseña.Visible = False
        End Select

    End Sub
    Private Sub TextBox_LostFocus(ByVal sender As Object, ByVal e As System.EventArgs) Handles txtNombreUsuario.LostFocus, txtContraseñaUsuario.LostFocus

        Dim textBox = TryCast(sender, TextBox)

        Select Case textBox.Name
            Case "txtNombreUsuario"
                If textBox.Text.Length = 0 Then
                    lblPHUsuario.Visible = True
                End If
            Case "txtContraseñaUsuario"
                If textBox.Text.Length = 0 Then
                    lblPHContraseña.Visible = True
                End If
        End Select

    End Sub
    Private Sub label_MouseHover(ByVal sender As Object, ByVal e As System.EventArgs) Handles lblPHUsuario.MouseHover, lblPHContraseña.MouseHover

        Dim label = TryCast(sender, Label)

        Select Case label.Name
            Case "lblPHUsuario"
                lblPHUsuario.Visible = False
            Case "lblPHContraseña"
                lblPHContraseña.Visible = False
        End Select

    End Sub

    Private Sub btnLogin_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnLogin.Click

        If txtNombreUsuario.TextLength = 0 Then
            MessageBox.Show("No se ha introducido ningún nombre", "ERROR", MessageBoxButtons.OK)
            txtNombreUsuario.Focus()
            Exit Sub
        End If

        If txtContraseñaUsuario.TextLength = 0 Then
            MessageBox.Show("No se ha introducido ninguna contraseña", "ERROR", MessageBoxButtons.OK)
            txtContraseñaUsuario.Focus()
            Exit Sub
        End If

        If (txtNombreUsuario.Text = AdministradorRestaurante.Nombre AndAlso AdministradorRestaurante.comprobarContraseña(txtContraseñaUsuario.Text)) Then
            FormAdministrador.ShowDialog()
            Exit Sub
        End If

        If (ClientesRestaurante.ContainsKey(txtNombreUsuario.Text)) Then
            If (ClientesRestaurante(txtNombreUsuario.Text).comprobarContraseña(txtContraseñaUsuario.Text)) Then
                FormCliDetallePedido.nombreUsuario = txtNombreUsuario.Text
                FormCliDetallePedido.ShowDialog()
                Exit Sub
            Else
                MessageBox.Show("La contraseña no es correcta", "ERROR", MessageBoxButtons.OK)
            End If
        Else
            MessageBox.Show("El usuario indicado no existe", "ERROR", MessageBoxButtons.OK)

        End If

    End Sub

    Private Sub btnRegistro_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles btnRegistro.Click
        FormRegistro.ShowDialog()
    End Sub

End Class